From a4186b6aa56e0cf353324ffd3c4bbdff6ab6d1ca Mon Sep 17 00:00:00 2001 From: Christian Persch Date: Tue, 26 Jan 2010 15:41:00 +0100 Subject: [PATCH] Correctly clone the toolbutton's icon-name image widget Bug #608162. --- gtk/gtktoolbutton.c | 6 ++++++ tests/testtoolbar.c | 5 +++++ 2 files changed, 11 insertions(+) diff --git a/gtk/gtktoolbutton.c b/gtk/gtktoolbutton.c index 5fdcc548f0..74fe78a9b1 100644 --- a/gtk/gtktoolbutton.c +++ b/gtk/gtktoolbutton.c @@ -652,6 +652,12 @@ clone_image_menu_size (GtkImage *image, GtkSettings *settings) gtk_image_get_stock (image, &stock_id, NULL); return gtk_image_new_from_stock (stock_id, GTK_ICON_SIZE_MENU); } + else if (storage_type == GTK_IMAGE_ICON_NAME) + { + const gchar *icon_name; + gtk_image_get_icon_name (image, &icon_name, NULL); + return gtk_image_new_from_icon_name (icon_name, GTK_ICON_SIZE_MENU); + } else if (storage_type == GTK_IMAGE_ICON_SET) { GtkIconSet *icon_set; diff --git a/tests/testtoolbar.c b/tests/testtoolbar.c index 42e5feaea5..af7cbee782 100644 --- a/tests/testtoolbar.c +++ b/tests/testtoolbar.c @@ -715,6 +715,11 @@ main (gint argc, gchar **argv) add_item_to_list (store, item, "Video"); gtk_toolbar_insert (GTK_TOOLBAR (toolbar), item, -1); + image = gtk_image_new_from_icon_name ("utility-terminal", GTK_ICON_SIZE_LARGE_TOOLBAR); + item = gtk_tool_button_new (image, "Terminal"); + add_item_to_list (store, item, "Terminal"); + gtk_toolbar_insert (GTK_TOOLBAR (toolbar), item, -1); + hbox = gtk_hbox_new (FALSE, 5); gtk_container_set_border_width (GTK_CONTAINER (hbox), 5); gtk_table_attach (GTK_TABLE (table), hbox, -- 2.30.2